# 3.操场上100多人排队，三人一组多1人，四人一组多2人，五人一组多3人，共多少人？
# num=100
# while num<200:
#     if num % 3 == 1 and num % 4 == 2 and num % 5 == 3 and num <=200:
#         print(num)
#     num+=1
# 4.从1到500所有自然数中不含数字4的自然数共有多少个？
# 4
# 4X X4
# 4XX 4X X4
# n4=1
# count=0 #默认不含4，个数为0
# while n4<=500:
#     ge = n4//1%10
#     shi = n4//10%10
#     bai = n4//100%10
#     if ge!=4 and bai!=4 and shi!=4:
#         count+=1
#     n4+=1
# print(count)
# 5.1+2-3+4-5+6-7....+100的结果
# 先计算2-3+4-5+6-7....+100+1
# sum1 = 1
# a= 2
# while a <= 100:
#     if a % 2 == 0:
#         sum1 += a
#     else:
#         sum1 -= a
#     a += 1
# print(sum1)
from itertools import count

# sum = 1
# ou = 2
# ji = 3
# while ou <= 100:
#     sum += ou
#     ou += 2
# while ji <= 100:
#     sum -= ji
#     ji += 2
# print(sum)


# 6.编写一个程序，求出200到300之间的数，且满足条件：它们三个数字之积为42，三个数字之和为12。
# num=200
# while num<=300:
#     ge = num%10
#     shi = (num//10)%10
#     bai = (num//100)%10
#     if ge*shi*bai==42 and ge+shi+bai==12 :
#         print(num)
#     num+=1

# 7.任意输入一个整数（小于10位），求这个整数有多少位  （不能使用len()方法）
# num=abs(int(input("请输入一个整数：")))
# count = 1
# while num >0:
#     num = num // 10
#     if num != 0:
#      count += 1
# print(f"这个整数有{count}位")

# 8.有一个两位数(10-99)，如果在它的前面添一个3(300+)，
# 可得到一个三位数；把3添在它的后面，也可以得到一个三位数。
# 这两个三位数相差468，求原来的两位数。
# a=10
# while a<=99:
#     a1=300+a
#     a2=a*10+3
#     if abs(a1-a2)==468:
#         print(a)
#     a += 1
# 9.在控制台打印0~100之间不以5结尾的数
# 5
# x5
# num=0
# while num<=100:
#     ge = num%10
#     if ge!=5 :
#         print(num)
#     num+=1
# 10.打印出1000以内所有的"水仙花数"，所谓"水仙花数"是指一个三位数，
# 其各位数字立方和等于该数本身。例如：153 是一个"水仙花数"，因为 153=1
# 的三次方＋5 的三次方＋3 的三次方
# num=100
# while num<1000:
#     ge = num%10
#     shi = (num//10)%10
#     bai = (num//100)%10
#     if ge**3+shi**3+bai**3==num :
#         print(num)
#     num+=1
# 11.求18-28+38-48+......+978-988的值
# a=18
# sum=0
# zhengfu=1
# while a<=988:
#     sum+=zhengfu*a
#     zhengfu*=-1
#     a+=10
# print(sum)
#
# n=18
# sum=0
# while n<=988:
#     if n//10%2==0:
#         sum-=n
#     else:
#         sum+=n
#     n+=10
# print(sum)

# 12.在控制台打印0~100，但不包含以5结尾和以8结尾的数
# 5 8
# x5 x8
# num=0
# while num<=100:
#     ge = num%10
#     if ge!=5 and ge!=8:
#         print(num)
#     num+=1
# 13.输入一个正整数，将该数的各位左右反转输出，即输入123，输出321。
num=abs(int(input("请输入一个整数：")))
count=1
while num>0:
    ge=num%10
    num //= 10
    print(ge,end="")
    if num != 0:
        count+=1
print()
print(f"位数{count}")
# 14.输出1~1000之间以8结尾且能被3整除的数有多少个
#  8 x8 xx8
# num=0
# count=0
# while num<=1000:
#     ge = num%10
#     if ge==8 and num%3==0:
#         count+=1
#     num+=1
# print(count)
# 15.输出对称的三位数有哪些？对称数比如：121,131,111,212...
# num=100
# while num<=999:
#     ge = num%10
#     shi = (num//10)%10
#     bai = (num//100)%10
#     if ge==bai :
#         print(num)
#     num+=1
# 16.输出10000以内个位数不为1，十位数不为2，百位数不为3，千位数不为4的数
# num=1
# while num<=9999:
#     ge = num%10
#     shi = (num//10)%10
#     bai = (num//100)%10
#     qian=(num//1000)%10
#     if ge!=1 and shi!=2 and bai!=3 and qian!=4:
#         print(num)
#     num+=1